In designing and maintaining information systems, attention has been paid to the establishment and smooth operation of connections between different systems. Separately located systems have often been implemented using rather many different methods and incompatible hardware of different type. It has been laborious and time-consuming, if at all possible, to convert the different systems into compatible ones.
Consequently, many different hardware and system manufacturers have developed a common architecture called CORBA (Common Object Request Broker Architecture) to enable different computer systems implemented using different programming languages to communicate with each other in a flexible manner. The CORBA specifies a GIOP (General Inter-ORB Protocol) protocol, and application of this protocol enables devices of different type and programs programmed in different programming languages to communicate. The GIOP protocol is a common protocol, from which an IIOP (Internet Inter-ORB Protocol) is has been developed particularly for the Internet environment. Further information on the CORBA can be obtained e.g. from a specification called The Common Object Request Broker: Architecture And Specification., Revision 2.0, published by OMG (Object Management Group), a group which created the architecture. The specification can also be found at www.omg.org.
The CORBA has been developed for systems that are fixedly interconnected through an unspecified network. When the protocol was being designed, little attention was paid to transmission path capacity and to the possibly changing transmission paths, the main focus being the creation of a safe and flexible protocol. Since wireless communication has recently become increasingly popular, computers and devices whose only or main connection to other networks is a wireless network, such as a GSM, GPRS or UMTS, have also started using information systems and different software.
Examine a simplified example of the CORBA architecture of FIG. 1. The figure shows software or an application 100 and a name server 102. A name server is typically a server implemented by a computer and software, into which applications providing different services can register. In the example of FIG. 1, an application 104 providing a service is registered in the name server. Physically, an application is typically software arranged in computer hardware. When the application registers in the name server, it indicates its address, i.e. how the application can be accessed. The name server maintains a list of software items providing different services, including the addresses. When the software 100 needs a service, it establishes a connection 108 to the name server 102 and indicates that it needs a particular service. The name server searches its list for such a service and replies by issuing the address of the application providing the desired service. Next, the software may transmit a service request 112 to the application 104 providing the service.
A special feature of the wireless telecommunication systems in particular is that the devices in a system can usually be readily moved. Hence, e.g. when wireless local area networks are used, a terminal may be switched over to be controlled by another local area network. The immediate network environment of the terminal thus changes. The applications of the terminal cannot thus know e.g. the services provided by the name server since the nearest name server has changed. Similar problems may also be presented by systems using wired connections, which, however, allow the devices to be moved from one place to another. As was stated above, the CORBA was originally developed for systems that did not take mobility into account. Consequently, problems caused by mobility have been ignored while designing the method. When the network environment of the devices changes, it is essential that the operation of the devices continues as easy and as flexible as possible.